package com.cke.yang.security.domain.repository;

import com.cke.yang.security.domain.entity.SecMenu;

import java.util.List;
import java.util.Set;

/**
 * 菜单Repository接口
 *
 * @author yuyang
 */
public interface SecMenuRepository {

    /**
     * 根据角色ID获取菜单列表
     *
     * @param roleId 角色ID
     * @return 菜单列表
     */
    List<SecMenu> getMenuListByRoleId(Long roleId);

    /**
     * 根据菜单编码获取菜单
     *
     * @param menuCode 菜单编码
     * @return 菜单信息，如果不存在则返回null
     */
    SecMenu getMenuByMenuCode(String menuCode);

    /**
     * 批量根据菜单编码获取菜单列表
     *
     * @param menuCodes 菜单编码集合
     * @return 菜单列表
     */
    List<SecMenu> getMenuListByMenuCodes(Set<String> menuCodes);

}
